package org.project.single.pojo.systemEnum;

import cn.hutool.core.util.ObjectUtil;
import lombok.Getter;

/**
 * 系统通用枚举模板
 * 业务编码规则（指定业务数字）（编码序号五位数）
 */
@Getter
public enum SystemCodeEnum {
    /**
     * 登录相关问题9开头
     */
    LOGIN_USER_NOT_EXIST(-900001,"账号不存在"),
    LOGIN_USER_PWD_ERR(-900002,"密码错误"),
    LOGIN_USER_NOT_ENABLE(-900003,"账号禁用"),
    LOGIN_USER_LOCK(-900004,"账号已锁"),



    /**
     * 数据相关问题10开头
     */
    DATA_ERR(-1000001,"数据异常"),
    DATA_ERR_CODE(-1000002,"重复编码"),
    ;

    SystemCodeEnum(int code, String descripStr) {
        this.code = code;
        this.descripStr = descripStr;
    }

    private int code;

    private String descripStr;

    /**
     * 通过code获取系统枚举
     * @param code
     * @return
     */
    public static SystemCodeEnum getInstance(Integer code){
        if (ObjectUtil.isNull(code)){
            return null;
        }

        for (SystemCodeEnum value : values()) {
            if (code.equals(value.getCode()))
                return value;
        }

        return null;
    }
}
